package com.empire.module.member.controller.admin.mappolygon.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.empire.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.empire.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 地图多边形信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MapPolygonPageReqVO extends PageParam {

    @Schema(description = "关联配置ID（关联member_map_config.id）", example = "6310")
    private String configId;

    @Schema(description = "多边形名称", example = "王五")
    private String name;

    @Schema(description = "描边颜色（16进制色值）")
    private String strokeColor;

    @Schema(description = "描边宽度（单位：像素，范围：1~20）")
    private Integer strokeWeight;

    @Schema(description = "填充颜色（16进制色值）")
    private String fillColor;

    @Schema(description = "填充透明度（范围：0.00~1.00）")
    private BigDecimal fillOpacity;

    @Schema(description = "层级（值越大越靠上，范围：1~100）")
    private Integer roomLevel;

    @Schema(description = "排序（升序排列）")
    private Integer sortOrder;

    @Schema(description = "多边形面积（单位：平方米，自动计算）")
    private BigDecimal area;

    @Schema(description = "顶点数量（自动计算）", example = "24692")
    private Integer pointCount;

    @Schema(description = "创建人ID")
    private String createdBy;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新人ID")
    private String updatedBy;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

}